-
Notifications
You must be signed in to change notification settings - Fork 310
Improve rum injection output stream #9107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve rum injection output stream #9107
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 44 metrics, 9 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.51.0-SNAPSHOT~24c817e49c, baseline=1.51.0-SNAPSHOT~bbdc0b7f15
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (994.892 ms) : 0, 994892
Total [baseline] (8.632 s) : 0, 8631568
Agent [candidate] (1.005 s) : 0, 1005499
Total [candidate] (8.605 s) : 0, 8604751
section iast
Agent [baseline] (1.142 s) : 0, 1142026
Total [baseline] (9.282 s) : 0, 9282207
Agent [candidate] (1.14 s) : 0, 1140465
Total [candidate] (9.348 s) : 0, 9348341
gantt
title insecure-bank - break down per module: candidate=1.51.0-SNAPSHOT~24c817e49c, baseline=1.51.0-SNAPSHOT~bbdc0b7f15
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (687.242 ms) : 0, 687242
BytebuddyAgent [candidate] (694.472 ms) : 0, 694472
GlobalTracer [baseline] (241.685 ms) : 0, 241685
GlobalTracer [candidate] (244.23 ms) : 0, 244230
AppSec [baseline] (30.212 ms) : 0, 30212
AppSec [candidate] (30.629 ms) : 0, 30629
Debugger [baseline] (6.046 ms) : 0, 6046
Debugger [candidate] (6.152 ms) : 0, 6152
Remote Config [baseline] (678.767 µs) : 0, 679
Remote Config [candidate] (695.061 µs) : 0, 695
Telemetry [baseline] (8.246 ms) : 0, 8246
Telemetry [candidate] (8.314 ms) : 0, 8314
section iast
BytebuddyAgent [baseline] (814.481 ms) : 0, 814481
BytebuddyAgent [candidate] (812.068 ms) : 0, 812068
GlobalTracer [baseline] (234.295 ms) : 0, 234295
GlobalTracer [candidate] (234.937 ms) : 0, 234937
AppSec [baseline] (28.999 ms) : 0, 28999
AppSec [candidate] (30.642 ms) : 0, 30642
Debugger [baseline] (6.686 ms) : 0, 6686
Debugger [candidate] (5.834 ms) : 0, 5834
Remote Config [baseline] (597.094 µs) : 0, 597
Remote Config [candidate] (594.805 µs) : 0, 595
Telemetry [baseline] (8.113 ms) : 0, 8113
Telemetry [candidate] (8.112 ms) : 0, 8112
IAST [baseline] (27.989 ms) : 0, 27989
IAST [candidate] (27.441 ms) : 0, 27441
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.51.0-SNAPSHOT~24c817e49c, baseline=1.51.0-SNAPSHOT~bbdc0b7f15
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (996.719 ms) : 0, 996719
Total [baseline] (10.723 s) : 0, 10722938
Agent [candidate] (997.635 ms) : 0, 997635
Total [candidate] (10.689 s) : 0, 10688610
section appsec
Agent [baseline] (1.177 s) : 0, 1177101
Total [baseline] (10.785 s) : 0, 10785191
Agent [candidate] (1.179 s) : 0, 1178803
Total [candidate] (10.753 s) : 0, 10752758
section iast
Agent [baseline] (1.144 s) : 0, 1144363
Total [baseline] (11.019 s) : 0, 11019161
Agent [candidate] (1.152 s) : 0, 1152352
Total [candidate] (10.945 s) : 0, 10944949
section profiling
Agent [baseline] (1.246 s) : 0, 1245585
Total [baseline] (10.958 s) : 0, 10958152
Agent [candidate] (1.246 s) : 0, 1246284
Total [candidate] (11.059 s) : 0, 11058937
gantt
title petclinic - break down per module: candidate=1.51.0-SNAPSHOT~24c817e49c, baseline=1.51.0-SNAPSHOT~bbdc0b7f15
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (687.957 ms) : 0, 687957
BytebuddyAgent [candidate] (688.922 ms) : 0, 688922
GlobalTracer [baseline] (242.654 ms) : 0, 242654
GlobalTracer [candidate] (242.543 ms) : 0, 242543
AppSec [baseline] (30.255 ms) : 0, 30255
AppSec [candidate] (30.371 ms) : 0, 30371
Debugger [baseline] (6.039 ms) : 0, 6039
Debugger [candidate] (6.108 ms) : 0, 6108
Remote Config [baseline] (685.69 µs) : 0, 686
Remote Config [candidate] (687.212 µs) : 0, 687
Telemetry [baseline] (8.224 ms) : 0, 8224
Telemetry [candidate] (8.232 ms) : 0, 8232
section appsec
BytebuddyAgent [baseline] (711.473 ms) : 0, 711473
BytebuddyAgent [candidate] (714.012 ms) : 0, 714012
GlobalTracer [baseline] (235.804 ms) : 0, 235804
GlobalTracer [candidate] (234.645 ms) : 0, 234645
AppSec [baseline] (171.306 ms) : 0, 171306
AppSec [candidate] (171.468 ms) : 0, 171468
Debugger [baseline] (5.77 ms) : 0, 5770
Debugger [candidate] (5.77 ms) : 0, 5770
Remote Config [baseline] (606.033 µs) : 0, 606
Remote Config [candidate] (597.463 µs) : 0, 597
Telemetry [baseline] (8.061 ms) : 0, 8061
Telemetry [candidate] (8.07 ms) : 0, 8070
IAST [baseline] (23.199 ms) : 0, 23199
IAST [candidate] (23.342 ms) : 0, 23342
section iast
BytebuddyAgent [baseline] (815.323 ms) : 0, 815323
BytebuddyAgent [candidate] (821.649 ms) : 0, 821649
GlobalTracer [baseline] (235.035 ms) : 0, 235035
GlobalTracer [candidate] (236.425 ms) : 0, 236425
AppSec [baseline] (30.739 ms) : 0, 30739
AppSec [candidate] (30.314 ms) : 0, 30314
Debugger [baseline] (5.887 ms) : 0, 5887
Debugger [candidate] (6.778 ms) : 0, 6778
Remote Config [baseline] (591.311 µs) : 0, 591
Remote Config [candidate] (592.141 µs) : 0, 592
Telemetry [baseline] (8.197 ms) : 0, 8197
Telemetry [candidate] (8.128 ms) : 0, 8128
IAST [baseline] (27.533 ms) : 0, 27533
IAST [candidate] (27.444 ms) : 0, 27444
section profiling
ProfilingAgent [baseline] (103.424 ms) : 0, 103424
ProfilingAgent [candidate] (104.546 ms) : 0, 104546
BytebuddyAgent [baseline] (678.203 ms) : 0, 678203
BytebuddyAgent [candidate] (677.304 ms) : 0, 677304
GlobalTracer [baseline] (362.092 ms) : 0, 362092
GlobalTracer [candidate] (363.216 ms) : 0, 363216
AppSec [baseline] (31.789 ms) : 0, 31789
AppSec [candidate] (31.71 ms) : 0, 31710
Debugger [baseline] (11.275 ms) : 0, 11275
Debugger [candidate] (11.263 ms) : 0, 11263
Remote Config [baseline] (675.042 µs) : 0, 675
Remote Config [candidate] (682.035 µs) : 0, 682
Telemetry [baseline] (9.56 ms) : 0, 9560
Telemetry [candidate] (8.929 ms) : 0, 8929
Profiling [baseline] (103.448 ms) : 0, 103448
Profiling [candidate] (104.571 ms) : 0, 104571
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 4 performance regressions! Performance is the same for 8 metrics, 12 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.51.0-SNAPSHOT~24c817e49c, baseline=1.51.0-SNAPSHOT~bbdc0b7f15
dateFormat X
axisFormat %s
section baseline
no_agent (35.661 ms) : 35376, 35946
. : milestone, 35661,
appsec (46.326 ms) : 45932, 46721
. : milestone, 46326,
code_origins (45.591 ms) : 45197, 45984
. : milestone, 45591,
iast (44.633 ms) : 44237, 45030
. : milestone, 44633,
profiling (49.985 ms) : 49526, 50443
. : milestone, 49985,
tracing (42.965 ms) : 42601, 43329
. : milestone, 42965,
section candidate
no_agent (37.755 ms) : 37444, 38066
. : milestone, 37755,
appsec (49.233 ms) : 48792, 49673
. : milestone, 49233,
code_origins (44.8 ms) : 44425, 45175
. : milestone, 44800,
iast (45.03 ms) : 44642, 45418
. : milestone, 45030,
profiling (49.933 ms) : 49412, 50454
. : milestone, 49933,
tracing (44.331 ms) : 43948, 44714
. : milestone, 44331,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.51.0-SNAPSHOT~24c817e49c, baseline=1.51.0-SNAPSHOT~bbdc0b7f15
dateFormat X
axisFormat %s
section baseline
no_agent (4.352 ms) : 4300, 4404
. : milestone, 4352,
iast (9.161 ms) : 9010, 9311
. : milestone, 9161,
iast_FULL (13.981 ms) : 13704, 14258
. : milestone, 13981,
iast_GLOBAL (10.264 ms) : 10079, 10450
. : milestone, 10264,
profiling (8.689 ms) : 8555, 8823
. : milestone, 8689,
tracing (7.439 ms) : 7332, 7547
. : milestone, 7439,
section candidate
no_agent (4.447 ms) : 4389, 4506
. : milestone, 4447,
iast (9.174 ms) : 9024, 9324
. : milestone, 9174,
iast_FULL (14.14 ms) : 13858, 14421
. : milestone, 14140,
iast_GLOBAL (10.725 ms) : 10535, 10915
. : milestone, 10725,
profiling (8.6 ms) : 8465, 8735
. : milestone, 8600,
tracing (7.476 ms) : 7370, 7581
. : milestone, 7476,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.51.0-SNAPSHOT~24c817e49c, baseline=1.51.0-SNAPSHOT~bbdc0b7f15
dateFormat X
axisFormat %s
section baseline
no_agent (15.456 s) : 15456000, 15456000
. : milestone, 15456000,
appsec (14.693 s) : 14693000, 14693000
. : milestone, 14693000,
iast (18.5 s) : 18500000, 18500000
. : milestone, 18500000,
iast_GLOBAL (18.105 s) : 18105000, 18105000
. : milestone, 18105000,
profiling (15.173 s) : 15173000, 15173000
. : milestone, 15173000,
tracing (14.839 s) : 14839000, 14839000
. : milestone, 14839000,
section candidate
no_agent (15.013 s) : 15013000, 15013000
. : milestone, 15013000,
appsec (14.77 s) : 14770000, 14770000
. : milestone, 14770000,
iast (17.957 s) : 17957000, 17957000
. : milestone, 17957000,
iast_GLOBAL (17.965 s) : 17965000, 17965000
. : milestone, 17965000,
profiling (15.186 s) : 15186000, 15186000
. : milestone, 15186000,
tracing (15.114 s) : 15114000, 15114000
. : milestone, 15114000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.51.0-SNAPSHOT~24c817e49c, baseline=1.51.0-SNAPSHOT~bbdc0b7f15
dateFormat X
axisFormat %s
section baseline
no_agent (1.476 ms) : 1464, 1487
. : milestone, 1476,
appsec (2.411 ms) : 2362, 2461
. : milestone, 2411,
iast (2.191 ms) : 2129, 2253
. : milestone, 2191,
iast_GLOBAL (2.231 ms) : 2169, 2294
. : milestone, 2231,
profiling (2.478 ms) : 2255, 2701
. : milestone, 2478,
tracing (2.007 ms) : 1959, 2055
. : milestone, 2007,
section candidate
no_agent (1.479 ms) : 1467, 1490
. : milestone, 1479,
appsec (2.401 ms) : 2352, 2450
. : milestone, 2401,
iast (2.193 ms) : 2131, 2255
. : milestone, 2193,
iast_GLOBAL (2.238 ms) : 2175, 2300
. : milestone, 2238,
profiling (2.47 ms) : 2250, 2690
. : milestone, 2470,
tracing (2.017 ms) : 1968, 2065
. : milestone, 2017,
|
5c74220
to
24c817e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Tried my best to review without running it 😅
What Does This Do
Implement bulk write (FilteredOutputStream does not hence looping on each byte).
Also did some bench. JMH shows one increment of 30% to write a google home page while looking for
</head>
and injecting a content. However this can be justified since this feature is obviously introducing an impact (It's not enabled by default).On the other hand, the algorithm can maybe be optimized but I'm lacking of ideas today
Motivation
Additional Notes
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]